package com.dkd.day20250727;

import java.util.Scanner;

public class Main44 {
    //题目描述
    //一只贪吃的猴子，来到一个果园，发现许多串香蕉排成一行，每串香蕉上有若干根香蕉。每串香蕉的根数由数组numbers给出。
    //
    //猴子获取香蕉，每次都只能从行的开头或者末尾获取，并且只能获取N次，求猴子最多能获取多少根香蕉。
    //
    //输入描述
    //第一行为数组numbers的长度
    //
    //第二行为数组numbers的值每个数字通过空格分开
    //
    //第三行输入为N，表示获取的次数
    //
    //输出描述
    //按照题目要求能获取的最大数值
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }

        int m = sc.nextInt();

        System.out.println(sort(arr, m));
    }

    public static int sort(int[] arr,int m) {
        int len = arr.length;

        int rightSum = 0;

        for (int i = len-m; i < len; i++) {
            rightSum += arr[i];
        }

        if (len == m )  return rightSum;

        int ans =rightSum;
        int sum = rightSum;

        int left = 0;
        int right = len-m;
        while (left < right) {
            sum += arr[left] - arr[right];
            ans = Math.max(ans, sum);
            left++;
            right--;
        }

        return ans;
    }
}
